#!/bin/bash
# 如果输入参数存在，就使用输入参数；如果输入参数不存在，就是用默认的输入参数
# 参数格式如下：$参数名

# 设定训练过程最大的epochs，防止过拟合
# 默认值为150
if [ $epoch_time ]; then
    EPOCH_TIME=$epoch_time
else
    EPOCH_TIME=150
fi
# 已经训练好的模型加载路路径，尝试加载最佳模型 best_model.pth
# 默认值为 ./model_out/Synapse/SwinUnet
if [ $out_dir ]; then
    OUT_DIR=$out_dir
else
    # OUT_DIR='model_out/Synapse/SwinUnet3'
    OUT_DIR='model_out/Synapse/SwinUnet4'
    # OUT_DIR='model_out/Synapse/SwinUnet1'
    # OUT_DIR='model_out/Synapse/U2net'
    # OUT_DIR='model_out/Synapse/MoblieUnet'

fi
# 项目的配置文件
# 默认值为 configs/swin_tiny_patch4_window7_224_lite.yaml
if [ $cfg ]; then
    CFG=$cfg
else
    CFG='configs/swin_tiny_patch4_window7_224_lite.yaml'
fi
# 指定数据的根路径，通常用于验证集或测试集
# 默认值为 datasets/Synapse
if [ $data_dir ]; then
    DATA_DIR=$data_dir
else
    DATA_DIR='datasets/Synapse'
fi
# 基础学习率
# 默认为0.05
if [ $learning_rate ]; then
    LEARNING_RATE=$learning_rate
else
    LEARNING_RATE=0.05
fi
# 图片大小
# 默认为 224 * 224
if [ $img_size ]; then
    IMG_SIZE=$img_size
else
    IMG_SIZE=224
fi
# 图片批号
# 默认为24
if [ $batch_size ]; then
    BATCH_SIZE=$batch_size
else
    BATCH_SIZE=24
fi

echo "start test model"
python test.py --cfg $CFG --root_path $DATA_DIR --max_epochs $EPOCH_TIME --output_dir $OUT_DIR --img_size $IMG_SIZE --base_lr $LEARNING_RATE --batch_size $BATCH_SIZE
